#ifndef SOULLANG_SOULC_SOURCE_HPP
#define SOULLANG_SOULC_SOURCE_HPP

#include <string>
#include <fstream>

#include "errors.hpp"


namespace soulc {
	class Source {
	private:
		std::string _sourceFileName;
		std::ifstream _sourceFile;

		std::string _source;

		bool _isPackage;
		std::string _packageName;

	public:
		Source();
		Source(std::string fileName);

		std::string getFileName();
		void setFilename(std::string fileName);

		void readSource();
		std::string getSource();

		bool isPackage();
		void makeItAPackage(std::string packageName);
	};
}


#endif
